package com.jiaai.cloud.user.mapper;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.jiaai.cloud.user.entity.TUser;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.jiaai.cloud.user.vo.UserVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
  *  Mapper 接口
 * </p>
 *
 * @author 佳爱网络科技
 * @since 2017-08-01
 */
public interface TUserMapper extends BaseMapper<TUser> {
    /**
     * 根据主播id加载用户
     * @param anchorId
     * @return
     */
    TUser getUserByAnchorId(@Param("anchorId") String anchorId);

    /**
     * 根据房间id加载用户
     * @param anchorId
     * @return
     */
    TUser getUserByBroadcastId(@Param("broadcastId") String anchorId);


    /**
     * 根据用户ID返回用户视图
     * @param userId
     * @return
     */
    UserVO findUserVOById(@Param("userId") String userId);

    UserVO findUserVOByIdAnchorId(@Param("anchorId") String anchorId);

    /**
     * 根据用户消费记录
     * @param
     * @return
     */
    List<TUser> findFully(Page page, @Param("ew") Wrapper wrapper);

    List<TUser> findByall(Page page,@Param("ew") Wrapper wrapper);


    /**
     * 统计每天用户人数
     * @param
     * @return
     */
    List<Map<String,Object>> selectUser();


    /**
     * 统计所有人数
     * @param
     * @return
     */
    List<Map<String,Object>> allUser();


    /**
     * 统计一个月用户人数
     * @param
     * @return
     */
    List<Map<String,Object>> selectMonthUser();
}